package com.my12306.train.model.vo;

import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * @Author:苏牧夕
 * @Date:2020/7/30 3:13
 * @Version 1.0
 */
@Data
public class MileageVo implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId
    private Long mileageId;
    /**
     * 父id
     * -1：代表是线路的起点和重点里程 (整条线路总里程)
     * 非-1：代表该里程承接着线路中的上一段里程
     * 比如深圳-汕尾 (总线路)
     * 中转站有 惠州、广州
     * 可以分为几条数据
     * 深圳-汕尾(全程) id=1 父id=-1   根据Id=1
     * 深圳-惠州  id=2  父id=1       根据Id=1
     * 惠州-广州  id=3 父id=2        根据Id=1
     * 广州-汕尾  id=4 父id= 3       根据Id=1
     */
    private Long parentId;
    /**
     * 线路id 主要是为了方便统一检索某条线路的所有经过的站点(也可以统计时刻表)
     * 线路id 不是等于里程id则证明该条里程是经过站点并不是起始站
     * 最后根据终点站与该routeId对于的里程比较则可以得出该里程的终点站是否是该线路的终点站
     */
    private Long routeId;
    /**
     * 起始站id
     */
    private Long fromId;
    /**
     * 起始站名称
     */
    private String fromName;
    /**
     * 终点站id
     */
    private Long toId;
    /**
     * 终点站名称
     */
    private String toName;
    /**
     * 总里程-单位千米
     */
    private Double totalMileage;
    /**
     * 线路名称
     */
    private String routeName;
    /**
     * 里程状态：0-经过站-经过站，1-起始站-终点站，2-起始站-经过站，3-经过站-终点站
     * 添加数据时自动处理。
     */
    private Integer mileageType;
    /**
     * 显示状态 0-表示禁用 1-表示正常
     */
    private Integer showStatus;
    /**
     * 注册时间
     */
    private Date createDate;
}
